From 8f9433127e5d2a576a1207da46d02389b82041a5 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Tue, 30 Jun 2020 15:40:52 +0000 Subject: [PATCH] luci-base: allow themes to provide sysauth.htm Support for sysauth_template was (inadvertently) dropped in refactorings to support the json menu construction. This does not restore that functionality, which allowed different templates for every node in the dispatcher tree, but provides an alternative mechanism that allows a theme to provide a sysauth.htm template file instead. Tested-by: Karl Palsson Signed-off-by: Jo-Philipp Wich --- modules/luci-base/luasrc/dispatcher.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/luci-base/luasrc/dispatcher.lua b/modules/luci-base/luasrc/dispatcher.lua index d2552d6db4..57b4e12d17 100644 --- a/modules/luci-base/luasrc/dispatcher.lua +++ b/modules/luci-base/luasrc/dispatcher.lua @@ -884,7 +884,12 @@ function dispatch(request) http.status(403, "Forbidden") http.header("X-LuCI-Login-Required", "yes") - return tpl.render("sysauth", { duser = "root", fuser = user }) + local scope = { duser = "root", fuser = user } + local ok, res = util.copcall(tpl.render_string, [[<% include("themes/" .. theme .. "/sysauth") %>]], scope) + if ok then + return res + end + return tpl.render("sysauth", scope) end http.header("Set-Cookie", 'sysauth=%s; path=%s; SameSite=Strict; HttpOnly%s' %{ -- 2.30.2